﻿using System.Collections.Generic;

namespace Roborally.Scheidsrechter
{
    public class ReturnScheidsrechter : IReturnScheidsrechter
    {
        public SpelerGegevens GegevensEenSpeler { get; set; }
        public List<SpelerGegevens> GegevensSpelers { get; private set; }
        public List<int> Prioriteiten { get; private set; }

        public int TimerTijd { get; private set; }
        public int AantalKaarten { get;  set; }
        public int Damage { get; private set; }

        public ReturnScheidsrechter()
        {
            GegevensSpelers = new List<SpelerGegevens>();
            Prioriteiten = new List<int>();
        }

        public ReturnScheidsrechter Copy()
        {
            ReturnScheidsrechter output = new ReturnScheidsrechter()
            {
                GegevensEenSpeler = this.GegevensEenSpeler.Copy(),
                TimerTijd = this.TimerTijd,
                AantalKaarten = this.AantalKaarten,
                Damage = this.Damage
            };
            foreach (SpelerGegevens gegevensSpeler in this.GegevensSpelers)
                output.GegevensSpelers.Add(gegevensSpeler.Copy());
            foreach (int prioriteit in this.Prioriteiten)
                output.Prioriteiten.Add(prioriteit);
            return output;
        }
    }
}